home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-04-12 | 58.0 KB | 2,256 lines |
- This is an official patch to nn release 6.4
- -------------------------------------------
-
- PATCH #14
-
- Priority: MEDIUM
-
-
- This patches fixes a bug (introduced in patch #13) in the handling of
- '@' entries in the GROUPS file. It also contains a few other bugs
- fixes and new support files for the following systems:
-
- Amdahl UTS 2.0
- NeXT 1.0
- HPUX 7.0
- Interactive UNIX on 386.
- Dynix/PTX on symmetry.
- SCO UNIX V on 386.
- Siemens SINIX on MX300
- SunOS 4.1 SysV environment
- Motorola System V/88 Release 3.
- ULTRIX systems (4.2 based)
- Riscos 4.5 and later
- SCO Xenix 2.2.1 (286) -- terminfo
- SCO Xenix 286 -- termcap
- Tandy 68000/Xenix 3.2
-
- The patch 2.0 program should be able to create these files - if it
- can't, get a newer version of patch. However, you can ignore any
- complains from patch about not being able to create the conf
- directory (it already exists).
-
- As usual, all changes are described in the updated RELEASE_NOTES file
- (read that for more details about this patch). Thanks to all who
- reported bugs and provided fixes.
-
- To apply this patch, use nn's :patch command, or run this command from
- the shell in the root of the nn source tree:
- patch -p0 < this-article
-
- Then run "make all" and "./inst u".
-
- ++Kim Storm
-
- ===================================================================
-
- *** ./LAST/MANIFEST Wed Feb 6 19:14:11 1991
- --- MANIFEST Mon Mar 25 13:31:04 1991
- ***************
- *** 34,39 ****
- --- 34,41 ----
- conf/m-symmetry.h 22 For Sequent Symmetry.
- conf/m-template.h 21 Template for new machine files.
- conf/m-vax.h 22 For VAX family
- + conf/m-amdahl.h P14 For Amdahl
- + conf/m-mx300.h P14 For Siemens MX300
- conf/s-3b1g.h 22 For 3b1 (unix-pc) with GCC.
- conf/s-aix221.h 14 For AIX 2.2.1
- conf/s-apollo.h 6.4.13 For Apollo Domain/OS
- ***************
- *** 62,67 ****
- --- 64,83 ----
- conf/s-usg3-1.h 22 For most system V systems (obsolete)
- conf/s-xenix386.h 21 For xenix386 [termcap version].
- conf/s-xenix386ds.h 22 For Xenix386 2.3.2 w/development system.
- + conf/s-NeXT1-0.h P14 For NeXT 1.0
- + conf/s-hpux7-0.h P14 For HPUX 7.0
- + conf/s-ix386.h P14 For Interactive UNIX on 386.
- + conf/s-ptx1-1.h P14 For Dynix/PTX on symmetry.
- + conf/s-scoV386.h P14 For SCO UNIX V on 386.
- + conf/s-sinix.h P14 For Siemens SINIX
- + conf/s-sunos4-v.h P14 For SunOS 4.1 SysV environment
- + conf/s-sysV88.h P14 For Motorola System V/88 Release 3.
- + conf/s-ultrix.h P14 For ULTRIX systems (4.2 based)
- + conf/s-umipsb4-5.h P14 For Riscos 4.5 and later
- + conf/s-uts2-0.h P14 For Amdahl UTS 2.0
- + conf/s-xenix286.h P14 For SCO Xenix 2.2.1 (286) -- terminfo
- + conf/s-xenix286b.h P14 For SCO Xenix 286 -- termcap
- + conf/s-xenix68k.h P14 For Tandy 68000/Xenix 3.2
- config.h-dist 17 CONFIGURATION FILE, DISTRIBUTED VERSION
- contrib 1 Directory for contributed software
- contrib/aspell 20 Ispell front-end written in perl
- *** ./LAST/Makefile Mon Jun 25 15:46:36 1990
- --- Makefile Mon Feb 11 17:01:12 1991
- ***************
- *** 10,15 ****
- --- 10,16 ----
- CC = cc
- CPP = $(CC) -E
- CFLAGS = -g
- + LDFLAGS =
- MAKE = make
-
- #
- ***************
- *** 48,53 ****
- --- 49,55 ----
- ymakefile: Makefile xmakefile config.h
- cp xmakefile MF.c
- $(CPP) -DCOMPILER="$(CC)" -DPREPROC="$(CPP)" \
- + -DLDEBUG="$(LDFLAGS)" \
- -DCDEBUG="$(CFLAGS)" -Iconf MF.c | \
- sed -e '1,/MAKE WILL CUT HERE/d' \
- -e '/^#/d' \
- *** ./LAST/admin.c Wed Nov 7 15:54:20 1990
- --- admin.c Thu Mar 14 21:19:49 1991
- ***************
- *** 275,280 ****
- --- 275,281 ----
- if (verbose) { printf("\r%s: ", gh->group_name); clrline(); }
-
- if (init_group(gh) <= 0) {
- + if (verbose)
- printf("NO DIRECTORY (ok)");
- return 1; /* no directory/ignored */
- }
- ***************
- *** 545,550 ****
- --- 546,566 ----
- }
- }
-
- + static master_run_check()
- + {
- + extern char proto_host[];
- + int running = proto_lock(I_AM_MASTER, PL_CHECK) >= 0;
- +
- + if (!verbose && pre_input != NULL)
- + exit(running ? 0 : 1);
- +
- + if (running)
- + printf("Master is running%s%s\n",
- + proto_host[0] ? " on host " : "", proto_host);
- + else
- + printf("Master is NOT running");
- + }
- +
- static master_admin()
- {
- register char c;
- ***************
- *** 556,564 ****
-
- for (;;) {
- switch (c = get_cmd(
- ! "\nD)ump F)iles G)roup K)ill O)ptions S)tat T)race",
- "MASTER")) {
-
- case 'G':
- cur_group = (int)get_entry("Group number",
- 0L, (long)(master.number_of_groups - 1));
- --- 572,584 ----
-
- for (;;) {
- switch (c = get_cmd(
- ! "\nC)heck D)ump F)iles G)roup K)ill O)ptions S)tat T)race",
- "MASTER")) {
-
- + case 'C':
- + master_run_check();
- + break;
- +
- case 'G':
- cur_group = (int)get_entry("Group number",
- 0L, (long)(master.number_of_groups - 1));
- ***************
- *** 956,963 ****
- pre_input = input_string;
- } else {
- pre_input = NULL;
- ! printf("\nMaster is%s running\n",
- ! proto_lock(I_AM_MASTER, PL_CHECK) < 0 ? " NOT" : "");
- }
-
- for (;;) {
- --- 976,983 ----
- pre_input = input_string;
- } else {
- pre_input = NULL;
- ! putchar(NL);
- ! master_run_check();
- }
-
- for (;;) {
- *** ./LAST/answer.c Wed Feb 6 19:14:12 1991
- --- answer.c Tue Mar 26 15:30:05 1991
- ***************
- *** 79,84 ****
- --- 79,96 ----
- date[3] = date[7] = date[10] = date[19] = date[24] = NUL;
- #ifdef NNTP_PATH_HOSTNAME
- strncpy(host, NNTP_PATH_HOSTNAME, 64);
- +
- + if (host[0] == '/') {
- + FILE *fph;
- + if ((fph = open_file(host, OPEN_READ)) && fgets(host, 64, fph)) {
- + char *cp;
- + if (cp = strchr(host, '\n')) *cp = NUL;
- + } else {
- + msg("Can't get outgoing hostname from file, using gethostname");
- + gethostname(host, 64);
- + }
- + if (fph) fclose(fph);
- + }
- #else
- gethostname(host, 64);
- #endif
- *** /dev/null Fri Apr 5 07:30:14 1991
- --- conf/m-amdahl.h Thu Mar 14 21:07:06 1991
- ***************
- *** 0 ****
- --- 1,13 ----
- + /************** Machine (and compiler) dependent definitions. **************
- + *
- + * This is for Amdahl.
- + * From: neulynne@uts.uni-c.dk (Mogens Lynnerup)
- + */
- +
- +
- + /* MACHINE TYPE DEFINED TYPE VALUE RANGE */
- +
- + typedef unsigned char int8; /* 0 .. 255 */
- + typedef short int16; /* -10,000 .. 10,000 */
- + typedef long int32; /* -100,000 .. 100,000 */
- + typedef unsigned long uint32; /* 0 .. 2^31-1 */
- *** /dev/null Fri Apr 5 07:30:14 1991
- --- conf/m-mx300.h Tue Feb 12 13:07:28 1991
- ***************
- *** 0 ****
- --- 1,23 ----
- + /************** Machine (and compiler) dependent definitions. **************
- + *
- + * For Siemens MX300
- + * From: Bill Wohler <wohler@sap-ag.de>
- + */
- +
- + /* MACHINE TYPE DEFINED TYPE VALUE RANGE */
- +
- + typedef unsigned char int8; /* 0 .. 255 */
- + typedef short int16; /* -10,000 .. 10,000 */
- + typedef long int32; /* -100,000 .. 100,000 */
- + typedef unsigned long uint32; /* 0 .. 2^31-1 */
- +
- +
- + /*
- + * Define NO_SIGINTERRUPT on BSD based systems which don't have
- + * a siginterrupt() function, but provides an SV_INTERRUPT flag
- + * in <signal.h>.
- + */
- +
- + #define NO_SIGINTERRUPT /* */
- +
- + #define NETWORK_BYTE_ORDER /* */
- *** ./LAST/conf/s-apollo.h Wed Feb 6 19:14:13 1991
- --- conf/s-apollo.h Thu Mar 21 11:40:45 1991
- ***************
- *** 1,9 ****
- --- 1,16 ----
- /*
- * This version is for Apollo Domain/OS systems running BSD 4.3.
- * From: mmitchel@digi.lonestar.org (Mitch Mitchell)
- + *
- + * Notice: If you use the ANSI compiler and have installed the SR10.3
- + * ANSI stuff, you will have to #define SIGNAL_HANDLERS_ARE_VOID below.
- + * (You should really do it in config.h though for portability! ++Kim)
- + * From: rog@speech.kth.se (Roger Lindell)
- */
-
- #include "s-bsd4-3.h"
- +
- + /* #define SIGNAL_HANDLERS_ARE_VOID /* ANSI compiler */
-
- /*
- * special sleep function that terminates following
- *** ./LAST/conf/s-template.h Wed Feb 6 19:14:14 1991
- --- conf/s-template.h Mon Feb 11 17:24:02 1991
- ***************
- *** 245,254 ****
- #define COMPILER_FLAGS
-
- /*
- * If your system requires other libraries when linking nn
- * specify them here:
- - *
- - * Standard loader flags can also be specified here!
- */
-
- #define EXTRA_LIB
- --- 245,258 ----
- #define COMPILER_FLAGS
-
- /*
- + * Define standard loader flags here:
- + */
- +
- + #define LOADER_FLAGS
- +
- + /*
- * If your system requires other libraries when linking nn
- * specify them here:
- */
-
- #define EXTRA_LIB
- *** /dev/null Fri Apr 5 07:30:14 1991
- --- conf/s-NeXT1-0.h Mon Jun 25 10:25:42 1990
- ***************
- *** 0 ****
- --- 1,12 ----
- + /*
- + * This version is for NeXT 1.0
- + * From: eps@cs.SFSU.EDU (Eric P. Scott)
- + */
- +
- + #define USE_STRINGS_H
- +
- + #include "s-bsd4-3.h"
- +
- + #define HAVE_STRCHR /* */
- + #define COMPILER_FLAGS -O -bsd
- + #define EXTRA_LIB -lsys_s
- *** /dev/null Fri Apr 5 07:30:14 1991
- --- conf/s-hpux7-0.h Thu Jun 14 18:31:49 1990
- ***************
- *** 0 ****
- --- 1,17 ----
- + /*
- + * For HP-UX 7.0
- + * From: Rick Low, MEL Defence Systems Ltd, Ottawa, Canada, 11 Jun 90
- + *
- + * Uses setsid() instead of setpgrp() as described in 7.0 release
- + * notes page 5-1.
- + */
- +
- + #include "s-hpux.h"
- +
- + #define SIGNAL_HANDLERS_ARE_VOID /* */
- +
- + #define EXTRA_LIB -lBSD
- +
- + #undef DETATCH_TERMINAL
- + extern pid_t setsid();
- + #define DETATCH_TERMINAL setsid();
- *** /dev/null Fri Apr 5 07:30:14 1991
- --- conf/s-ix386.h Fri Jun 1 19:27:37 1990
- ***************
- *** 0 ****
- --- 1,74 ----
- + /*
- + * For ISC 386/ix 2.0.x (also Dell UNIX 1.x).
- + * With tweaks for Host Based TCP/IP (1.1, 1.2)
- + * From: Jeremy Chatfield (jdc@dell.dell.com) May 27, 90.
- + */
- +
- + /*
- + * Define if your system has a 4.3BSD like syslog library.
- + *
- + * Host Based TCP/IP includes syslog (check /etc/syslog.conf for
- + * message routings). jdc.
- + */
- +
- + #define HAVE_SYSLOG
- +
- + /*
- + * ISC 386/ix is extraordinarily like System 5 :-) jdc.
- + */
- +
- + #include "s-sys5.h"
- +
- + /*
- + * If we have defined RESIZING in config.h, make sure that we
- + * use the SV resizing (to include ptem.h, etc). jdc.
- + */
- +
- + #define SYSV_RESIZING
- +
- + /*
- + * Define AVOID_SHELL_EXEC if the system gets confused by
- + * #!/bin/sh
- + * lines in shell scripts, e.g. only reads #! and thinks it
- + * is a csh script.
- + *
- + * I've seen some funnies , but it may be just be me... jdc.
- + */
- +
- + #define AVOID_SHELL_EXEC
- +
- + /*
- + * Uses malloc.h
- + * Values tuned slightly for ix386
- + */
- +
- + #define USE_MALLOC_H
- + #define MALLOC_MAXFAST (4 * sizeof(double))
- + #define MALLOC_FASTBLOCKS 128
- + #define MALLOC_GRAIN sizeof(double)
- +
- + /*
- + * If your system requires other libraries when linking nn
- + * specify them here:
- + *
- + * -lmalloc Adds better malloc
- + * -linet Essential for HB TCP/IP use (NNTP requires use)
- + * -lc_s Standard C shared library. (Useful, not essential)
- + */
- +
- + #if defined(NNTP) || defined (HAVE_SYSLOG)
- + #define EXTRA_LIB -linet -lmalloc -lc_s
- + #else
- + #define EXTRA_LIB -lmalloc -lc_s
- + #endif
- +
- + /*
- + * There is a rename() function in -linet, but it is broken.
- + *
- + * If you don't have nn 6.4 patch level 4 or higher, NO_RENAME is not
- + * recognized. Instead, you will need to fix nntp.c, around line 722:
- + * Change "if (rename..." to "if (unlink(news_active), rename..."
- + * But save a copy of the original nntp.c to be able to apply patch 4.
- + */
- +
- + #define NO_RENAME
- *** /dev/null Fri Apr 5 07:30:14 1991
- --- conf/s-ptx1-1.h Mon Mar 25 13:26:18 1991
- ***************
- *** 0 ****
- --- 1,21 ----
- + /*
- + * This is for Dynix/PTX.
- + * From: Jaap Vermeulen <sequent!jaap>
- + */
- +
- + #include "s-sys5.h"
- +
- + #undef TERMLIB
- + #define TERMLIB -ltermlib
- +
- + #define HAVE_VARARGS /* Ignore NO_VARARGS in m-symmetry.h */
- +
- + #define HAVE_JOBCONTROL
- +
- + #define USE_MALLOC_H
- +
- + #define MALLOC_GRAIN sizeof(double) /* M_GRAIN */
- + #define MALLOC_MAXFAST (MALLOC_GRAIN*4) /* M_MXFAST */
- + #define MALLOC_FASTBLOCKS 100 /* M_NLBLKS */
- +
- + #define EXTRA_LIB -lmalloc
- *** /dev/null Fri Apr 5 07:30:14 1991
- --- conf/s-scoV386.h Thu Jun 14 18:34:53 1990
- ***************
- *** 0 ****
- --- 1,26 ----
- + /*
- + * For SCO UNIX System V/386
- + * From: Curtis Galloway <curtisg@sco.com>
- + * Uses system V libraries and system calls.
- + * This version uses "terminfo".
- + */
- +
- + #include "s-sys5.h"
- +
- + #define AVOID_SHELL_EXEC
- +
- + #undef SIGNAL_HANDLERS_ARE_VOID
- +
- + /*
- + * Define standard compiler flags here:
- + */
- +
- + #define COMPILER_FLAGS
- +
- + /*
- + * If your system requires other libraries when linking nn
- + * specify them here:
- + */
- +
- + #define EXTRA_LIB -lmalloc -lx
- + #define NNTP_EXTRA_LIB -lsocket
- *** /dev/null Fri Apr 5 07:30:14 1991
- --- conf/s-sinix.h Tue Feb 12 13:03:11 1991
- ***************
- *** 0 ****
- --- 1,61 ----
- + /*
- + * For Siemens SINIX system on MX300 (use with m-mx300.h)
- + * From: Bill Wohler <wohler@sap-ag.de>
- + */
- +
- + #include <sys/types.h>
- + #include <sys/stat.h>
- +
- + #define TERMLIB -ltermcap
- + #define HAVE_STRCHR /* */
- + #define RESET_SIGNAL_WHEN_CAUGHT /* */
- +
- + /*
- + * Define if your system has BSD like job control (SIGTSTP works)
- + * SINIX has job control but in our configuration, doesn't define
- + * it.
- + */
- + #ifndef SIGSTOP
- + #define SIGSTOP 17
- + #endif
- + #ifndef SIGTSTP
- + #define SIGTSTP 18
- + #endif
- + #define HAVE_JOBCONTROL /* */
- +
- + #define HAVE_DIRECTORY /* */
- + #include <dir.h> /* BSD */
- + typedef struct direct Direntry; /* BSD */
- +
- + #define HAVE_MKDIR /* */
- +
- + #define HAVE_GETHOSTNAME /* BSD systems */
- +
- + #define HAVE_MULTIGROUP /* BSD */
- +
- + #define SHELL "/bin/sh"
- +
- + #define MAILX "/usr/ucb/Mail" /* BSD */
- +
- + #define FILENAME 1280
- +
- + /*
- + * NNTP support requires tcp/ip with socket interface.
- + *
- + * Define NO_RENAME if the rename() system call is not available.
- + * Define NO_BZERO if the bzero() function is not available.
- + * Define EXCELAN if the tcp/ip package is EXCELAN based.
- + * Define NNTP_EXTRA_LIB to any libraries required only for nntp.
- + */
- +
- + /* #define NO_RENAME /* */
- + /* #define NO_BZERO /* */
- + /* #define EXCELAN /* */
- + /* #define NNTP_EXTRA_LIB -lsocket /* */
- +
- + /*
- + * Define standard compiler flags here:
- + */
- +
- + #define COMPILER_FLAGS -tp -W0
- +
- *** /dev/null Fri Apr 5 07:30:14 1991
- --- conf/s-sunos4-v.h Mon Nov 26 12:13:54 1990
- ***************
- *** 0 ****
- --- 1,40 ----
- + /*
- + * This version is for SUNOS 4.1 SysV environment
- + * From: "Gary Mills" <mills@ccu.umanitoba.ca>
- + */
- +
- + #include "s-sys5.h"
- +
- + /*
- + * Has a 4.3BSD like syslog library.
- + */
- +
- + #define HAVE_SYSLOG
- +
- + /*
- + * Have gethostname().
- + */
- +
- + #undef HAVE_UNAME
- + #define HAVE_GETHOSTNAME
- +
- + /*
- + * Have multiple group membership.
- + */
- +
- + #define HAVE_MULTIGROUP
- +
- + /*
- + * Default mailer for nnmail.
- + */
- +
- + #undef MAILX
- + #define MAILX "/usr/ucb/mail"
- +
- + /*
- + * Maximum length of a pathname.
- + */
- +
- + #undef FILENAME
- + #define FILENAME 1024
- +
- *** /dev/null Fri Apr 5 07:30:14 1991
- --- conf/s-sysV88.h Thu Jun 14 18:31:23 1990
- ***************
- *** 0 ****
- --- 1,11 ----
- + /*
- + * This is for Motorola System V/88 Release 3.
- + * From: Jeff Johnson <jjohnson@urbana.mcd.mot.com>
- + * Motorola Inc -- Urbana Design Center, May 22, 90
- + */
- +
- + #include "s-sys5.h"
- +
- + #define HAVE_JOBCONTROL
- + #define HAVE_MULTIGROUP
- + #define OLD_AWK "oawk"
- *** /dev/null Fri Apr 5 07:30:14 1991
- --- conf/s-ultrix.h Mon May 28 18:23:21 1990
- ***************
- *** 0 ****
- --- 1,18 ----
- + /*
- + * This version is for ultrix systems
- + * From: dietrich@cernvax.cern.ch (dietrich wiegandt)
- + */
- +
- + #include "s-bsd4-2.h"
- +
- + /*
- + * Define HAVE_VARARGS, Ultrix has vprintf, vsprintf as well
- + */
- +
- + #define HAVE_VARARGS
- +
- + /*
- + * Ultrix signal handlers have type void (see signal.h)
- + */
- +
- + #define SIGNAL_HANDLERS_ARE_VOID /* */
- *** /dev/null Fri Apr 5 07:30:14 1991
- --- conf/s-umipsb4-5.h Thu Aug 23 14:25:06 1990
- ***************
- *** 0 ****
- --- 1,10 ----
- + /*
- + * This is for Mips Risc/os 4.5 or later.
- + * Compile in the bsd43 environment.
- + */
- +
- + #include "s-umipsb.h"
- +
- + /* 4.5 has vsprintf */
- + #undef NO_VARARGS
- +
- *** /dev/null Fri Apr 5 07:30:14 1991
- --- conf/s-uts2-0.h Thu Mar 14 21:11:20 1991
- ***************
- *** 0 ****
- --- 1,18 ----
- + /*
- + * This version is for Amdahl UTS 2.0
- + * From: neulynne@uts.uni-c.dk (Mogens Lynnerup)
- + */
- +
- + #include "s-sys5.h"
- +
- + /*
- + * Define HAVE_GETHOSTNAME if your system provides a BSD like
- + * gethostname routine.
- + * Otherwise, define HAVE_UNAME if uname() is avaiable.
- + * As a final resort, define HOSTNAME to the name of your system.
- + */
- +
- + #undef HAVE_UNAME /* System V */
- + #define HAVE_GETHOSTNAME /* UTS 2.0 */
- +
- + #define EXTRA_LIB -lsocket /* To get gethostname routine. */
- *** /dev/null Fri Apr 5 07:30:14 1991
- --- conf/s-xenix286.h Thu Jun 14 21:53:44 1990
- ***************
- *** 0 ****
- --- 1,32 ----
- + /*
- + * This version is for SCO Xenix Sys V Release 2.2.1 (286)
- + * Original from: Paul Shields, shields@nccn.yorku.ca
- + * Uses terminfo!
- + */
- +
- + #define NO_DIRENT_H
- + #include "s-sys5.h"
- +
- + #undef SIGNAL_HANDLERS_ARE_VOID
- +
- + #define HAVE_DIRECTORY /* */
- + #include <sys/ndir.h> /* Xenix System V */
- + typedef struct direct Direntry; /* Xenix System V */
- +
- + #undef HAVE_MKDIR
- + #undef HAVE_UNAME
- + #undef DETATCH_TERMINAL
- +
- + #define AVOID_SHELL_EXEC
- +
- + #undef MAILX
- + #define MAILX "/usr/bin/mail" /* SV */
- +
- + #undef FILENAME
- + #define FILENAME 128
- +
- + #define COMPILER_FLAGS -LARGE -Ml2t128 -DM_TERMINFO
- +
- + /* Default stack space is only 4KB. Increase is needed but */
- + /* must be limited to 20KB (-F 5000) for nn itself to load. */
- + #define EXTRA_LIB -ltinfo -lx -F 5000
- *** /dev/null Fri Apr 5 07:30:14 1991
- --- conf/s-xenix286b.h Thu Jun 14 22:07:57 1990
- ***************
- *** 0 ****
- --- 1,40 ----
- + /*
- + * For SCO XENIX 286
- + * From: Michael K. Brady, michael@jewell.UUCP
- + * Uses termcap!
- + */
- +
- + #define NO_DIRENT_H
- + #include "s-sys5.h"
- +
- + #undef USE_TERMINFO /* use TERMCAP */
- + #undef TERMLIB
- + #define TERMLIB -ltermlib
- +
- + #undef SIGNAL_HANDLERS_ARE_VOID /* */
- +
- + #define HAVE_DIRECTORY /* */
- + #include <sys/ndir.h> /* XENIX */
- + typedef struct direct Direntry; /* XENIX */
- +
- + #undef HAVE_MKDIR /* */
- +
- + /*
- + * Specify the default mailer to be invoked by nnmail
- + */
- +
- + #undef MAILX
- + #define MAILX "/usr/bin/smail" /* You may disagree! */
- +
- + /*
- + * Define standard compiler flags here:
- + */
- +
- + #define COMPILER_FLAGS -LARGE -Ox -Ml2t32 -F 8000 -SEG 1000
- +
- + /*
- + * If your system requires other libraries when linking nn
- + * specify them here:
- + */
- +
- + #define EXTRA_LIB -lx
- *** /dev/null Fri Apr 5 07:30:14 1991
- --- conf/s-xenix68k.h Thu Jul 5 22:37:26 1990
- ***************
- *** 0 ****
- --- 1,19 ----
- + /*
- + * s-xenix68k.h
- + * for Tandy 6000's running Tandy 68000/Xenix Version 3.2
- + * (including the 3.2 development system)
- + * Created by paul@devon.lns.pa.us (Paul Sutcliffe Jr.)
- + *
- + * Assumes presense of D.Gwyn's directory(3) routines in -ldirent
- + */
- +
- + #include "s-sys5-tcap.h"
- +
- + #undef SIGNAL_HANDLERS_ARE_VOID /* */
- + #undef HAVE_MKDIR /* */
- + #define AVOID_SHELL_EXEC /* */
- +
- + #undef MAILX
- + #define MAILX "/usr/bin/mail"
- +
- + #define EXTRA_LIB -lx -ldirent
- *** ./LAST/config.h-dist Wed Feb 6 19:14:15 1991
- --- config.h-dist Tue Mar 26 15:30:05 1991
- ***************
- *** 90,95 ****
- --- 90,98 ----
- * Define NNTP_PATH_HOSTNAME to force a specific hostname into the
- * Path: header generated when NNTP_MINI_INEWS_HEADER is defined.
- * This is useful for multi-machine sites with one mail/news gateway.
- + *
- + * If the string starts with a '/' it is taken as the name of a file
- + * from which the outgoing hostname should be read (at runtime).
- */
-
- /* #define NNTP_PATH_HOSTNAME "puthostnamehere" /* */
- *** ./LAST/db.c Wed Feb 6 19:14:15 1991
- --- db.c Thu Mar 7 22:28:04 1991
- ***************
- *** 270,275 ****
- --- 270,279 ----
- name = cp;
-
- if (trust_master) {
- + if (gh->group_name_length == 0) {
- + gh->group_name = "";
- + return 1;
- + }
- cp = name + gh->group_name_length;
- if (*cp == NUL || !isspace(*cp))
- sys_error("MASTER/GROUPS conflict: %d/%s", gh->group_num, line);
- ***************
- *** 406,411 ****
- --- 410,416 ----
- int n;
-
- strcpy(client_path,relative(db_directory, "CLIENT"));
- + unlink(client_path);
- if ((n = copy_file(relative(db_directory, "MASTER"), client_path, 0)) < 0)
- log_entry('R', "Copy of MASTER to CLIENT failed (err=%d)", n);
- }
- *** ./LAST/decode.c Mon Apr 23 18:26:18 1990
- --- decode.c Tue Mar 26 13:34:31 1991
- ***************
- *** 135,140 ****
- --- 135,141 ----
-
- rlen = cdlen[blen];
- if (len < rlen) goto d_err;
- + if (len > (rlen + 2)) goto d_err; /* line too long */
-
- /*
- * Is it the empty line before the end line ?
- *** ./LAST/digest.c Fri Oct 5 19:07:04 1990
- --- digest.c Tue Apr 2 13:37:47 1991
- ***************
- *** 116,121 ****
- --- 116,124 ----
-
- fp = fields;
-
- + if (n > 8 && !isdigit(fp[7][0])) fp[7] = fp[8]; /* ... TZ year */
- + if (n > 9 && !isdigit(fp[7][0])) fp[7] = fp[9]; /* ... TZ DST year */
- +
- if (namebuf != NULL) {
- char x = *sender_tail;
- *sender_tail = NUL;
- ***************
- *** 258,263 ****
- --- 261,267 ----
- int line_type[BACKUP_LINES];
- register int backup_index, backup_count;
- int more_header_lines, end_or_asterisks, blanks;
- + int colon_lines;
- char line[1024];
- register char *cp;
- char **dg_hdr_field();
- ***************
- *** 274,279 ****
- --- 278,284 ----
-
- next_line:
- more_header_lines = 0;
- + colon_lines = 0;
-
- next_possible_header_line:
- digest.dg_lines++;
- ***************
- *** 390,399 ****
- --- 395,426 ----
- }
-
- if (blanks)
- + goto next_possible_header_line;
- + /* must be able to handle continued lines in sub-digest headers...
- goto next_line;
- + */
-
- if (!dg_hdr_field(line, 0))
- + {
- + char *colon;
- + if (colon = strchr(line, ':')) {
- + for (cp = line; cp < colon; cp++)
- + if (!isascii(*cp) || isspace(*cp)) break;
- + if (cp == colon) {
- + TEST("COLON", 0, 0);
- + colon_lines++;
- + line_type[backup_index] = LN_HEADER;
- + goto next_possible_header_line;
- + }
- + }
- + if (is_mail_from_line(line, (char *)NULL) == 0) {
- + TEST("FROM_", 0, 0);
- + colon_lines++;
- + line_type[backup_index] = LN_HEADER;
- + }
- +
- goto next_possible_header_line;
- + }
-
- TEST("HEADER", 0, 0);
-
- ***************
- *** 405,412 ****
- --- 432,442 ----
-
- TEST("\nSearch for start of header\n", 0, 0);
-
- + colon_lines += more_header_lines;
- for (;;) {
- fseek(f, backup_p[backup_index], 0);
- + if (line_type[backup_index] == LN_HEADER)
- + if (--colon_lines <= 0) break;
- --digest.dg_lines;
- if (--backup_count == 0) break;
- decrease_index();
- *** ./LAST/doc/INSTALLATION Mon Jul 16 17:38:40 1990
- --- doc/INSTALLATION Mon Mar 25 13:27:06 1991
- ***************
- *** 38,44 ****
- --- 38,49 ----
-
- CFLAGS Flags to the C compiler (e.g. -O or -g)
-
- + LDFLAGS Additional flags to the C compiler when linking executeables
-
- + Notice that mandatory system specific CFLAGS and LDFLAGS are usually
- + defined in the s- file (see below).
- +
- +
- STEP 2
-
- CREATE CONFIGURATION FILE config.h
- ***************
- *** 90,95 ****
- --- 95,101 ----
- system files are delivered with nn:
-
- s-3b1g.h For 3b1 (unix-pc) with GCC.
- + s-NeXT1-0.h For NeXT 1.0
- s-aix221.h For AIX 2.2.1
- s-aux1-1.h For A/UX 1.1
- s-bsd4-2.h For 4.2 BSD and Ultrix systems
- ***************
- *** 102,120 ****
- s-hpux2-1.h For HPUX 2.1 (series 800)
- s-hpux3-0.h For HPUX 3.0 (series 800)
- s-hpux6-5.h For HPUX 6.5 or newer (series 300)
- s-pyramid.h For Pyramid (and Targon 35).
- s-sgi4D.h For IRIX 3.1/3.2 [read comments in the file]
- s-sunos3.h For SunOS 3
- s-sunos4-0.h For SunOS 4.0
- ! s-sys5.h For most system V based systems.
- s-sys5-tcap.h For system V using termcap rather than terminfo.
- s-texas1500.h For Texas Instruments System 1500.
- s-tower32.h For NCR tower
- s-umipsb.h For Mips running riscos 4.0 or greater
- s-uport2-2.h For Microport UNIX V.2
- s-usg3-1.h For most system V systems (obsolete)
- s-xenix386.h For xenix386 [termcap version].
- s-xenix386ds.h For Xenix386 2.3.2 w/development system.
-
- If none of these can be used on your system, create your own based on
- the file conf/s-template.h.
- --- 108,139 ----
- s-hpux2-1.h For HPUX 2.1 (series 800)
- s-hpux3-0.h For HPUX 3.0 (series 800)
- s-hpux6-5.h For HPUX 6.5 or newer (series 300)
- + s-hpux7-0.h For HPUX 7.0
- + s-ix386.h For Interactive UNIX on 386.
- + s-ptx1-1.h For Dynix/PTX on symmetry.
- s-pyramid.h For Pyramid (and Targon 35).
- + s-scoV386.h For SCO UNIX V on 386.
- s-sgi4D.h For IRIX 3.1/3.2 [read comments in the file]
- + s-sinix.h For Siemens SINIX
- s-sunos3.h For SunOS 3
- s-sunos4-0.h For SunOS 4.0
- ! s-sunos4-v.h For SunOS 4.1 SysV environment
- s-sys5-tcap.h For system V using termcap rather than terminfo.
- + s-sys5.h For most system V based systems.
- + s-sysV88.h For Motorola System V/88 Release 3.
- s-texas1500.h For Texas Instruments System 1500.
- s-tower32.h For NCR tower
- + s-ultrix.h For ULTRIX systems (4.2 based)
- s-umipsb.h For Mips running riscos 4.0 or greater
- + s-umipsb4-5.h For Riscos 4.5 and later
- s-uport2-2.h For Microport UNIX V.2
- s-usg3-1.h For most system V systems (obsolete)
- + s-uts2-0.h For Amdahl UTS 2.0
- + s-xenix286.h For SCO Xenix 2.2.1 (286) -- terminfo
- + s-xenix286b.h For SCO Xenix 286 -- termcap
- s-xenix386.h For xenix386 [termcap version].
- s-xenix386ds.h For Xenix386 2.3.2 w/development system.
- + s-xenix68k.h For Tandy 68000/Xenix 3.2
-
- If none of these can be used on your system, create your own based on
- the file conf/s-template.h.
- ***************
- *** 126,131 ****
- --- 145,151 ----
- The following machine description files are delivered with nn:
-
- m-3b1g.h For 3b1 (unix-pc) with GCC [no networking].
- + m-amdahl.h For Amdahl 5890 (big iron)
- m-att3b.h For AT&T 3b2 (with s-usg3-1.h)
- m-convex.h For Convex.
- m-dec3100.h For DECstation 3100 (with s-bsd4-2.h)
- ***************
- *** 136,141 ****
- --- 156,162 ----
- m-m680x0.h For Motorola 68000 family processors
- m-m88000.h For Motorola 88000 risc processors
- m-mips.h For MIPS processors
- + m-mx300.h For Siemens MX300
- m-pyramid.h For Pyramid (and Targon 35).
- m-rt6150.h For IBM 6150
- m-sgi4D.h For Silicon Graphics 4D series.
- ***************
- *** 236,242 ****
- for temporary cache files when nn is used with NNTP. Using a
- common directory for cache files allows you to clean these out
- on reboot with a single "rm" command in the rc file:
- ! (cd CLIENT_DIRECTORY; rm -f *)
-
-
- TMP_DIRECTORY (optional, default = /usr/tmp)
- --- 257,265 ----
- for temporary cache files when nn is used with NNTP. Using a
- common directory for cache files allows you to clean these out
- on reboot with a single "rm" command in the rc file:
- ! (cd CACHE_DIRECTORY; rm -f *)
- ! But of course this requires that you use a separate directory
- ! for the cache!
-
-
- TMP_DIRECTORY (optional, default = /usr/tmp)
- ***************
- *** 402,408 ****
- kill the running master, initialize the database etc. if they
- have access to execute the master. So either restrict the
- permissions to execute nnmaster or the access to the directory
- ! containing it. The default installation puts modes -rwsr-x---
- on nnmaster and leaves the directory "open" which may not be
- adequate for you.
-
- --- 425,431 ----
- kill the running master, initialize the database etc. if they
- have access to execute the master. So either restrict the
- permissions to execute nnmaster or the access to the directory
- ! containing it. The default installation puts modes -rwsr-s---
- on nnmaster and leaves the directory "open" which may not be
- adequate for you.
-
- *** ./LAST/doc/NNTP Tue Jun 12 11:46:30 1990
- --- doc/NNTP Mon Mar 11 10:40:09 1991
- ***************
- *** 270,275 ****
- --- 270,307 ----
- patches to fix it, ++Kim ]
-
-
- + SPONTANEOUS NNTP ERROR 502
- + --------------------------
- +
- + Sometimes nn or nnmaster may stop with the following message:
- +
- + NNTP 502 You only have permission to transfer, sorry.
- +
- + This particular case is probably the result of the NNTP server trying to
- + turn your IP address into a fully qualified domain name (FQDN) so it can
- + look you up in its access file.
- +
- + The NNTP server probably uses the domain name server (DNS) to map IP
- + addresses into FQDNs. If the local DNS doesn't already know the answer, it
- + has to go out over the network to find it. This can take a few seconds, and
- + the library routine that does all this for the NNTP server might time out
- + before the answer gets back to it. If this happens, the NNTP server doesn't
- + know your FQDN, so it gives you the default access specified in the server's
- + nntp_access file, which is usually "xfer" (article transfer only).
- +
- + In the time it takes for you to run nn again the DNS usuallu has its answer
- + back, so things usually work the second time.
- +
- + One way to work around this problem is to specify the IP address of the
- + client in the nntp server's access file; then it is not necessary to lookup
- + the FQDN.
- +
- + Thanks to Tim Ramsey and Nick Sayer for this information.
- +
- +
- + DEBUGGING NNTP CONNECTIONS
- + --------------------------
- +
- If you want to debug the nntp connection, you can run the nnmaster
- with the option -D2 (or -D3 which also turns on the normal -D verbose
- output). In the nn client, you can turn on the nntp-debug variable in
- *** ./LAST/doc/PROBLEMS Mon Jul 9 17:59:52 1990
- --- doc/PROBLEMS Wed Jan 30 18:32:11 1991
- ***************
- *** 356,361 ****
- --- 356,375 ----
- than 650 groups in the database directory (d+x file). Leaving
- DB_DIRECTORY undefined should fix this.
-
- + Patch #13 contains some patches which should allow nn to run under
- + Domain OS (with included s-apollo.h).
- +
- +
- + RUNNING nn VIA SUNLINK X.25
- + ---------------------------
- +
- + For logins via Sunlink X.25, the article selection display may be all
- + messed up. This is because, on entry to cooked mode, Sunlink X.25
- + sends the screen width parameter to the PAD, and the PAD dumbly
- + inserts CR/LF after every 80 characters of output. Not all PADs are
- + this dumb. To fix it, insert `set noflow-control' in the global init
- + file. Thanks to mills@ccu.umanitoba.ca (Gary Mills) for the info.
- +
-
- OTHER PROBLEMS
- --------------
- *** ./LAST/doc/RELEASE_NOTES Wed Feb 6 19:14:17 1991
- --- doc/RELEASE_NOTES Tue Mar 26 15:29:57 1991
- ***************
- *** 1439,1445 ****
- --- 1439,1540 ----
- From: barrett@daisy.ee.und.ac.za (Alan P Barrett) + fix
- Fixed: Patch #13 [aux.sh]
-
- + Prog: nnmaster, nn
- + Title: "@" lines in GROUPS file gives a fatal error (bug in patch 13)
- + From: eggert@twinsun.com (Paul Eggert) + fix
- + david@wyvern.cs.uow.edu.au (David E A Wilson)
- + Fixed: Patch #14 [db.c]
-
- + Prog: inst
- + Title: Fix for format.awk to work with nawk.
- + From: tale@cs.rpi.edu (David C Lawrence) + fix
- + Fixed: Patch #14 [format.awk]
- +
- + Prog: nn
- + Title: Canceled articles are reported to be "expired".
- + From: bill@twg.bc.ca (Bill Irwin)
- + richard@locus.com (Richard M. Mathews)
- + Fixed: Patch #14 [more.c]
- +
- + Prog: nnusage
- + Title: The POLICY header was missing if AUTHORIZE is defined.
- + From: mmitchel@digi.lonestar.org (Mitch Mitchell) + fix
- + Fixed: Patch #14 [nnusage.sh prefix.c]
- +
- + Prog: mkprefix
- + Title: The generated shell prefix includes unused *MAN_* vars.
- + From: KFS
- + Fixed: Patch #14 [prefix.c]
- +
- + Prog: nn
- + Title: Search for "empty string" (e.g. /^/) in reading mode will loop.
- + From: Sjoerd Mullender <sjoerd@cwi.nl>
- + Fixed: Patch #14 [more.c]
- +
- + Prog: nn
- + Title: "From " lines with a time zone in the date were not recognized
- + From: rhoward@msd.gatech.edu
- + Fixed: Patch #14 [digest.c]
- +
- + Prog: nn
- + Title: Apollos makes numerous "R" entries in the log (cannot copy to CLIENT)
- + From: ianh@bhpmrl.oz.au (Ian Hoyle)
- + dennis@rats.nosc.mil (Dennis Cottel)
- + rog@speech.kth.se (Roger Lindell)
- + Fixed: Patch #14 [db.c]
- +
- + Prog: nnmaster
- + Title: ANU/NEWS doesn't like NNTP the command "XHDR message-id 0-0"
- + From: news@tfl.dk (Klaus Elmquist Nielsen)
- + Fixed: Patch #14 [expire.c]
- +
- + Prog: Installation docs
- + Title: Various typos (CACHE_DIRECTORY and nnmaster modes).
- + From: news@tfl.dk (Klaus Elmquist Nielsen)
- + Fixed: Patch #14 [INSTALLATION]
- +
- + Prog: nn
- + Title: Cannot enter // in Subject: field of :post command
- + From: david@wraith.cs.uow.edu.au (David E A Wilson)
- + Fixed: Patch #14 [term.c]
- +
- + Prog: nnadmin Z
- + Title: The "NO DIRECTORY (ok)" message is printed also when non-verbose
- + From: Tom Dawes-Gamble <tmdg@ti.co.uk>
- + dave@jato.Jpl.Nasa.Gov (Dave Hayes)
- + Fixed: Patch #14 [admin.c]
- +
- + Prog: nnmaster
- + Title: rec.humor.funny digests are not split correctly
- + From: Michael Rawdon <rawdon@rex.cs.tulane.edu>
- + Fixed: Patch #14 [digest.c]
- +
- + Actually, the rec.humor.funny digests doesn't follow basic
- + rules for putting a digest together, but since the moderator
- + isn't going to change his habits, nn has to deal with them...
- +
- + Prog: nn
- + Title: Cannot split folders without a blank line before the header
- + From: gunnar@beppe.ericsson.se (Gunnar Forsgren)
- + Fixed: Patch #14 [digest.c] (same fix as for the r.h.f digests)
- +
- + Prog: nn, nnmaster
- + Title: After nnmaster -G, nn reports that database is not updated in 21 years
- + From: khaw@parcplace.com (Mike Khaw)
- + Fixed: Patch #14 [master.c]
- +
- + Prog: nn
- + Title: :decode fails on some multi-part postings with BEGIN/END lines
- + From: Robert A. Ertel <robert@sequent.com> + fix (unused)
- + Scott Hankin <hankin@sauron.osf.org> + fix
- + Fixed: Patch #14 [decode.c]
- +
- + Prog: nn
- + Title: If file system is full, .newsrc would be truncated
- + From: Michael Schwager <schwager@cs.uiuc.edu>
- + Fixed: Patch #14 [newsrc.c]
- +
- +
- New features since initial 6.4.0 release
- ----------------------------------------
-
- ***************
- *** 1933,1935 ****
- --- 2028,2066 ----
- From: rdavis@convex.com (Ray Davis)
- Added: Patch #13 [answer.c config.h-dist]
-
- + Prog: compilation
- + Title: LDFLAGS can now be set in Makefile and LOADER_FLAGS in s- file.
- + From: KFS on request from tale@cs.rpi.edu (David C Lawrence)
- + Added: Patch #14 [Makefile xmakefile s-template.h]
- +
- + Prog: nnusage
- + Title: Now reads from Log.old too, and prints "Usage since" header.
- + From: marcel@duteca.bitnet (Marcel J.E. Mol)
- + Added: Patch #14 [nnusage.sh]
- +
- + Prog: nn
- + Title: Words can now be delimited by \<...\> in regular expressions
- + From: KFS on request from Mark M Mehl <mehl@iastate.edu>
- + Added: Patch #14 [regexp.c]
- +
- + Prog: nn
- + Title: Can now kill on base subjects *without* Re: prefix (s< in kill file)
- + From: KFS on request from Mike Newton <newton@gumby.cs.caltech.edu>
- + Added: Patch #14 [kill.c nn.1]
- +
- + Prog: nnadmin
- + Title: New C)heck option in M)aster menu: check whether master is running.
- + From: KFS
- + Added: Patch #14 [admin.c nnadmin.1m]
- +
- + Prog: nn
- + Title: 5 x speed-up for nn -m on slow terminals (one update per second).
- + From: eggert@twinsun.com (Paul Eggert)
- + Added: Patch #14 [group.c]
- +
- + Prog: nn
- + Title: The hostname in the Path: may now be read from a file.
- + From: Ray Davis <rdavis@connie.convex.com>
- + Added: Patch #14 [answer.c config.h-dist]
- +
- + Simply define NNTP_PATH_HOSTNAME as the path of the file.
- *** ./LAST/expire.c Tue Sep 18 12:44:56 1990
- --- expire.c Fri Mar 8 18:34:57 1991
- ***************
- *** 94,99 ****
- --- 94,101 ----
-
- if (gh->first_db_article > gh->last_db_article) return 0;
-
- + if (gh->last_db_article == 0) return 0;
- +
- if (!init_group(gh)) return 0;
-
- if (debug_mode == 1) {
- *** ./LAST/format.awk Mon Apr 23 18:33:10 1990
- --- format.awk Mon Feb 11 16:44:00 1991
- ***************
- *** 32,38 ****
- next
- }
-
- ! /^\.br/ || /^\.sp/ {
- if (linebuf != indent) {
- printf("%s\n", linebuf)
- }
- --- 32,38 ----
- next
- }
-
- ! /^\.(br|sp)/ {
- if (linebuf != indent) {
- printf("%s\n", linebuf)
- }
- *** ./LAST/group.c Wed Nov 7 15:54:31 1990
- --- group.c Wed Mar 20 10:15:13 1991
- ***************
- *** 20,25 ****
- --- 20,26 ----
- export int also_cross_postings = 0;
- export int also_unsub_groups = 0;
- export int entry_message_limit = 400;
- + export int merge_report_rate = 1;
-
- import int article_limit, also_read_articles;
- import int no_update, novice, case_fold_search;
- ***************
- *** 890,895 ****
- --- 891,897 ----
- register group_header *gh;
- group_header dummy_group;
- time_t t1, t2;
- + time_t trefr = 0;
- long kb = 0, kbleft = 0;
-
- time(&t1); t2 = 0;
- ***************
- *** 934,949 ****
-
- if (init_group(gh) <= 0) continue;
-
- ! if (t2 > 2 && kb > 50000) {
- ! printf("\r%4lds\t%lds\t%s", kbleft/(kb/t2), (long)t2, gh->group_name);
- ! } else
- ! #ifdef KBYTE_PER_SECOND
- ! printf("\r%4lds\t%lds\t%s", kbleft/(KBYTE_PER_SECOND*1024)),
- ! (long)t2, gh->group_name);
- ! #else
- ! printf("\r\t%lds\t%s", (long)t2, gh->group_name);
- ! #endif
- ! clrline();
-
- access_group(gh, (article_number)(-1), gh->last_db_article,
- access_mode, mask);
- --- 936,952 ----
-
- if (init_group(gh) <= 0) continue;
-
- ! if (t2 >= trefr) {
- ! trefr = t2 + merge_report_rate;
- !
- ! if (t2 > 2 && kb > 50000 && kb >= t2)
- ! printf("\r%4lds\t%lds\t%s", kbleft/(kb/t2),
- ! (long)t2, gh->group_name);
- ! else
- ! printf("\r\t%lds\t%s", (long)t2, gh->group_name);
- !
- ! clrline();
- ! }
-
- access_group(gh, (article_number)(-1), gh->last_db_article,
- access_mode, mask);
- *** ./LAST/kill.c Wed Feb 6 19:14:18 1991
- --- kill.c Wed Feb 13 16:59:07 1991
- ***************
- *** 41,46 ****
- --- 41,47 ----
- #define ON_SENDER 0x00000008
- #define ON_FOLLOW_UP 0x00000010
- #define ON_ANY_REFERENCES 0x00000020
- + #define ON_NOT_FOLLOW_UP 0x00000040
-
- /*
- * external flag representation
- ***************
- *** 50,55 ****
- --- 51,57 ----
- #define EXT_AUTO_SELECT '+'
- #define EXT_KILL_UNLESS_MATCH '~'
- #define EXT_ON_FOLLOW_UP '>'
- + #define EXT_ON_NOT_FOLLOW_UP '<'
- #define EXT_ON_ANY_REFERENCES 'a'
- #define EXT_ON_SUBJECT 's'
- #define EXT_ON_SENDER 'n'
- ***************
- *** 154,159 ****
- --- 156,164 ----
- if (flag & ON_FOLLOW_UP) {
- if ((ah->replies & 0x80) == 0) goto failed;
- }
- + else if (flag & ON_NOT_FOLLOW_UP) {
- + if (ah->replies & 0x80) goto failed;
- + }
- string = ah->subject;
- } else
- string = ah->sender;
- ***************
- *** 358,363 ****
- --- 363,369 ----
- if (flag & AUTO_KILL) fputc(EXT_AUTO_KILL, killf);
- if (flag & AUTO_SELECT) fputc(EXT_AUTO_SELECT, killf);
- if (flag & ON_FOLLOW_UP) fputc(EXT_ON_FOLLOW_UP, killf);
- + if (flag & ON_NOT_FOLLOW_UP) fputc(EXT_ON_NOT_FOLLOW_UP, killf);
- if (flag & ON_ANY_REFERENCES) fputc(EXT_ON_ANY_REFERENCES, killf);
- if (flag & ON_SENDER) fputc(EXT_ON_SENDER, killf);
- if (flag & ON_SUBJECT) fputc(EXT_ON_SUBJECT, killf);
- ***************
- *** 655,660 ****
- --- 661,669 ----
- case EXT_ON_FOLLOW_UP:
- flag |= ON_FOLLOW_UP;
- continue;
- + case EXT_ON_NOT_FOLLOW_UP:
- + flag |= ON_NOT_FOLLOW_UP;
- + continue;
- case EXT_ON_ANY_REFERENCES:
- flag |= ON_ANY_REFERENCES;
- continue;
- ***************
- *** 966,971 ****
- --- 975,981 ----
- flag & ON_SENDER ? "NAME" :
- flag & ON_ANY_REFERENCES ? "ANY REF" : "????",
-
- + flag & ON_NOT_FOLLOW_UP ? "!Re: " :
- flag & ON_FOLLOW_UP ? "Re: " : "",
- kl->kill_pattern,
-
- *** ./LAST/man/nn.1.B Wed Feb 6 19:14:19 1991
- --- man/nn.1.B Fri Apr 5 17:44:43 1991
- ***************
- *** 604,609 ****
- --- 604,617 ----
- Re:). For example, to kill all "Re:"'s in rec.humor use the following
- kill entry: rec.humor:!>s/:.
- .TP
- + \fB<\fP (optional)
- + When used with a subject (flag \fBs\fP), the kill entry only matches
- + base articles with that subject (i.e. where the Subject: line does not
- + start with Re:). For example, to kill all articles asking for help
- + (but not follow-ups) in the tex group, add this to your kill file:
- + .br
- + comp.text.tex:!s</:^HELP
- + .TP
- \fBn\fP or \fBs\fP or \fBa\fP (mandatory)
- .br
- Specify whether the corresponding string applies to the name \fBn\fP
- *** ./LAST/man/nn.1.C Wed Feb 6 19:14:20 1991
- --- man/nn.1.C Fri Apr 5 17:44:43 1991
- ***************
- *** 279,284 ****
- --- 279,290 ----
- subjects, except in connection with auto-kill and auto-select where
- the individual kill file entries specifies this property.
- .TP
- + \fBcheck-db-update-time\fP \fIH\fP (integer, default 12)
- + When non-zero, \fInn\fP will issue a warning if the database has not
- + been updated in the last \fIH\fP hours. The warning will tell you
- + whether no news has arrived (feed broken?), or whether it is just
- + \fInnmaster\fP which has not updated the database (dead?).
- + .TP
- \fBcheck-group-access\fP (boolean, default false)
- When set, \fInn\fP will perform a check on the readability of a
- group's readability before showing the menu for that group. Normally,
- *** ./LAST/man/nn.1.D Wed Nov 7 15:54:44 1990
- --- man/nn.1.D Fri Apr 5 17:44:43 1991
- ***************
- *** 1174,1179 ****
- --- 1174,1184 ----
- with either of `/' `~' or `+') which will specify the default save file
- for that group (and its subgroups). A single `+' following the group
- name is an abbreviation for the last save file name used.
- + For example, the following two sequences are equivalent:
- + .br
- + group1 +file group2 +file group3 +file
- + .br
- + group1 +file group2 + group3 +
- .LP
- When an article is saved, the default save name will be used as the
- initial contents of the file name prompt for further editing. It
- *** ./LAST/man/nnadmin.1m Mon Apr 23 18:32:13 1990
- --- man/nnadmin.1m Thu Feb 14 11:04:56 1991
- ***************
- *** 134,139 ****
- --- 134,146 ----
- prompt) provides access to overall database information, and to send
- control messages to the \fInnmaster\fP daemon.
- .TP
- + .B C)heck
- + In interactive mode and in verbose batch mode (\fInnadmin\fP MC),
- + print a message telling whether \fInnmaster\fP is running or not.
- + In silent batch mode (\fInnadmin\fP =MC) exit with a status code of 0
- + if \fInnmaster\fP is running and 1 otherwise; this may be useful is
- + administrative scripts.
- + .TP
- .B D)ump
- Enter the DUMP submenu.
- .TP
- *** ./LAST/master.c Wed Feb 6 19:14:20 1991
- --- master.c Fri Mar 22 16:00:36 1991
- ***************
- *** 541,547 ****
- clean_group(gh);
- } else
- db_write_group(gh);
- ! master.last_scan = 0;
- db_write_master();
- close_master();
- log_entry('M', "Reread GROUPS file");
- --- 541,547 ----
- clean_group(gh);
- } else
- db_write_group(gh);
- ! master.last_scan--; /* force update */
- db_write_master();
- close_master();
- log_entry('M', "Reread GROUPS file");
- *** ./LAST/more.c Wed Nov 7 15:54:48 1990
- --- more.c Fri Mar 15 15:13:09 1991
- ***************
- *** 153,161 ****
- break;
-
- case 'i':
- ! sprintf(special, "#%ld fl=%lx re=%d li=%d hp=%ld fp=%ld lp=%ld",
- (long)ah->a_number, (long)ah->flag, ah->replies, ah->lines,
- ! (long)ah->hpos, (long)ah->fpos, (long)ah->lpos);
- lp = special;
- break;
- }
- --- 153,162 ----
- break;
-
- case 'i':
- ! sprintf(special, "#%ld fl=%lx re=%d li=%d hp=%ld fp=%ld lp=%ld ts=%ld",
- (long)ah->a_number, (long)ah->flag, ah->replies, ah->lines,
- ! (long)ah->hpos, (long)ah->fpos, (long)ah->lpos,
- ! (long)ah->t_stamp);
- lp = special;
- break;
- }
- ***************
- *** 360,366 ****
-
- if (art == NULL) {
- if (expired_msg_delay >= 0) {
- ! msg("Expired: \"%s: %-.50s\"", ah->sender, ah->subject);
- if ((mode & MM_PREVIEW) == 0 && expired_msg_delay > 0)
- user_delay(expired_msg_delay);
- }
- --- 361,367 ----
-
- if (art == NULL) {
- if (expired_msg_delay >= 0) {
- ! msg("Canceled or expired: \"%s: %-.35s\"", ah->sender, ah->subject);
- if ((mode & MM_PREVIEW) == 0 && expired_msg_delay > 0)
- user_delay(expired_msg_delay);
- }
- ***************
- *** 488,494 ****
- --- 489,502 ----
- }
-
- if (linenum == 1)
- + {
- hdrline = screen_offset == 0 ? header_lines : "";
- + if (hdrline && hdrline[0] == '@') {
- + topline = linenum = 0;
- + fseek(art, linepos[0], 0);
- + hdrline = NULL;
- + }
- + }
-
- print_header:
- if (hdrline == NULL || *hdrline == '*') {
- ***************
- *** 835,840 ****
- --- 843,852 ----
- regexec_cf(regular_expr, linebuf)) {
- match_start = regular_expr->startp[0];
- match_end = regular_expr->endp[0];
- + if (match_start == match_end) {
- + match_start = NULL; /* null string */
- + if (match_redraw) goto no_print;
- + }
- } else {
- if (match_redraw) goto no_print;
- match_start = NULL;
- *** ./LAST/newsrc.c Wed Nov 7 15:54:51 1990
- --- newsrc.c Tue Mar 26 14:06:38 1991
- ***************
- *** 132,138 ****
- f = open_file(path, OPEN_CREATE|MUST_EXIST);
- fputs(line, f);
- }
- ! if (f != NULL) fclose(f);
- }
-
-
- --- 132,140 ----
- f = open_file(path, OPEN_CREATE|MUST_EXIST);
- fputs(line, f);
- }
- ! if (f != NULL)
- ! if (fclose(f) == EOF) return -1;
- ! return 0;
- }
-
-
- ***************
- *** 146,157 ****
-
- if (first && keep_rc_backup) {
- sprintf(bak, "%s%s", newsrc_file, bak_suffix);
- ! dump_file(bak, DM_ORIG_NEWSRC);
- first = 0;
- }
-
- ! dump_file(newsrc_file, DM_NEWSRC);
- !
- newsrc_update_count = 0;
- }
-
- --- 148,168 ----
-
- if (first && keep_rc_backup) {
- sprintf(bak, "%s%s", newsrc_file, bak_suffix);
- ! if (dump_file(bak, DM_ORIG_NEWSRC))
- ! user_error("Cannot backup %s", newsrc_file);
- first = 0;
- }
-
- ! if (dump_file(newsrc_file, DM_NEWSRC)) {
- ! extern char *tmp_directory;
- ! char temp[FILENAME];
- ! sprintf(temp, "%s/newsrc-%d", tmp_directory, process_id);
- ! if (dump_file(temp, DM_NEWSRC))
- ! user_error("Cannot update %s -- restore %s file!!!",
- ! newsrc_file, bak_suffix);
- ! else
- ! user_error("Cannot update %s -- saved in %s", newsrc_file, temp);
- ! }
- newsrc_update_count = 0;
- }
-
- ***************
- *** 986,992 ****
- prompt("Are you sure? ");
- if (!yes(1)) return 0;
-
- ! dump_file(newsrc_file, DM_ORIG_NEWSRC);
-
- prompt("Restore selections? ");
- if (yes(1)) dump_file(sel_path, DM_ORIG_SELECT);
- --- 997,1005 ----
- prompt("Are you sure? ");
- if (!yes(1)) return 0;
-
- ! if (dump_file(newsrc_file, DM_ORIG_NEWSRC))
- ! user_error("Could not restore %s -- restore %s file manually",
- ! newsrc_file, bak_suffix);
-
- prompt("Restore selections? ");
- if (yes(1)) dump_file(sel_path, DM_ORIG_SELECT);
- *** ./LAST/nnusage.sh Tue Sep 18 12:45:10 1990
- --- nnusage.sh Tue Nov 20 10:55:13 1990
- ***************
- *** 26,41 ****
- done
-
- if [ -f $DB/acct -a -f $BIN/nnacct ] ; then
- echo "USER USAGE QUOTA LAST_ACTIVE COST/PERIOD"
- $BIN/nnacct -r $OPT $@ | sed -e 1d | sort $SORTMODE
- exit
- fi
-
- if $ALL
- then
- ! grep '^U:' $LOG
- else
- ! grep "^U:.*(${LOGNAME-$USER})" $LOG
- fi |
-
- ${AWK} '
- --- 26,52 ----
- done
-
- if [ -f $DB/acct -a -f $BIN/nnacct ] ; then
- + if $AUTH ; then
- + echo "USER USAGE QUOTA LAST_ACTIVE COST/PERIOD POLICY"
- + else
- echo "USER USAGE QUOTA LAST_ACTIVE COST/PERIOD"
- + fi
- $BIN/nnacct -r $OPT $@ | sed -e 1d | sort $SORTMODE
- exit
- fi
-
- + OLDLOG=${LOG}.old
- + if [ ! -s ${OLDLOG} ]
- + then
- + OLDLOG=""
- + fi
- +
- + cat $OLDLOG $LOG |
- if $ALL
- then
- ! grep '^U:'
- else
- ! grep "^U:.*(${LOGNAME-$USER})"
- fi |
-
- ${AWK} '
- ***************
- *** 45,50 ****
- --- 56,62 ----
- NF == 7 {
- if (split($7, t, ".") == 2) {
- u[$5] += t[1] * 60 + t[2]
- + if (any == 0) printf("Usage since %s %d, %s\n", $2, $3, $4)
- any=1
- }
- }
- *** ./LAST/patchlevel.h Wed Feb 6 19:14:21 1991
- --- patchlevel.h Mon Mar 25 13:30:55 1991
- ***************
- *** 24,30 ****
- * 1990-10-05: Patch #11 (6.4.11) - HIGH
- * 1990-11-07: Patch #12 (6.4.12) - LOW
- * 1991-02-06: Patch #13 (6.4.13) - MEDIUM
- */
-
- ! #define PATCHLEVEL 13
-
- --- 24,31 ----
- * 1990-10-05: Patch #11 (6.4.11) - HIGH
- * 1990-11-07: Patch #12 (6.4.12) - LOW
- * 1991-02-06: Patch #13 (6.4.13) - MEDIUM
- + * 1991-03-22: Patch #14 (6.4.14) - MEDIUM
- */
-
- ! #define PATCHLEVEL 14
-
- *** ./LAST/prefix.c Tue Sep 18 12:45:13 1990
- --- prefix.c Fri Nov 16 18:49:10 1990
- ***************
- *** 83,89 ****
- fprintf(f, "GROUP=%s\n", GROUP);
- }
-
- ! if (FULL_PREFIX) {
- fprintf(f, "UMAN_DIR=\"%s\"\n", USER_MAN_DIR);
- fprintf(f, "UMAN_SECT=\"%s\"\n", USER_MAN_SECTION);
-
- --- 83,95 ----
- fprintf(f, "GROUP=%s\n", GROUP);
- }
-
- ! #ifdef AUTHORIZE
- ! fprintf(f, "AUTH=true\n");
- ! #else
- ! fprintf(f, "AUTH=false\n");
- ! #endif
- !
- ! if (flag & FULL_PREFIX) {
- fprintf(f, "UMAN_DIR=\"%s\"\n", USER_MAN_DIR);
- fprintf(f, "UMAN_SECT=\"%s\"\n", USER_MAN_SECTION);
-
- *** ./LAST/regexp.c Mon Apr 23 18:25:55 1990
- --- regexp.c Wed Feb 13 10:45:36 1991
- ***************
- *** 56,61 ****
- --- 56,62 ----
- #ifdef NN
- #include "config.h"
- #include "regexp.h"
- + #include <ctype.h>
- #else
- #include "pax.h"
-
- ***************
- *** 115,120 ****
- --- 116,125 ----
- #define NOTHING 9 /* no Match empty string. */
- #define STAR 10 /* node Match this (simple) thing 0 or more
- * times. */
- + #ifdef NN
- + #define W_START 11 /* no Match beginning of word */
- + #define W_END 12 /* no Match end of word */
- + #endif
- #define OPEN 20 /* no Mark this point in input as start of
- * #n. */
- /* OPEN+1 is number 1, etc. */
- ***************
- *** 529,534 ****
- --- 534,557 ----
- FAIL("* follows nothing");
- break;
- case '\\':
- + #ifdef NN
- + switch (*regparse++) {
- + case '\0':
- + FAIL("trailing \\");
- + case '<':
- + ret = regnode(W_START);
- + break;
- + case '>':
- + ret = regnode(W_END);
- + break;
- + default:
- + ret = regnode(EXACTLY);
- + regc(*(regparse - 1));
- + regc('\0');
- + *flagp |= HASWIDTH | SIMPLE;
- + break;
- + }
- + #else
- if (*regparse == '\0')
- FAIL("trailing \\");
- ret = regnode(EXACTLY);
- ***************
- *** 535,540 ****
- --- 558,564 ----
- regc(*regparse++);
- regc('\0');
- *flagp |= HASWIDTH | SIMPLE;
- + #endif
- break;
- default:{
- register int len;
- ***************
- *** 835,840 ****
- --- 859,878 ----
- if (*reginput != '\0')
- return (0);
- break;
- + #ifdef NN
- + case W_START:
- + if (*reginput == '\0' || isspace(*reginput))
- + return (0);
- + if (reginput != regbol && !isspace(*(reginput - 1)))
- + return (0);
- + break;
- + case W_END:
- + if (*reginput != '\0' && !isspace(*reginput))
- + return (0);
- + if (reginput == regbol || isspace(*(reginput - 1)))
- + return (0);
- + break;
- + #endif
- case ANY:
- if (*reginput == '\0')
- return (0);
- ***************
- *** 1152,1157 ****
- --- 1190,1203 ----
- case EOL:
- p = "EOL";
- break;
- + #ifdef NN
- + case W_START:
- + p = "WSTART";
- + break;
- + case W_END:
- + p = "WEND";
- + break;
- + #endif
- case ANY:
- p = "ANY";
- break;
- *** ./LAST/term.c Wed Feb 6 19:14:22 1991
- --- term.c Fri Mar 22 16:12:28 1991
- ***************
- *** 831,838 ****
-
- #endif /* CBREAK */
-
- - #ifndef USE_OLD_GET_C_CODE
- -
- #ifndef KEY_BURST
- #define KEY_BURST 32
- #endif
- --- 831,836 ----
- ***************
- *** 844,850 ****
- static jmp_buf fake_alarm_sig;
- #endif
-
- ! static rd_timeout()
- {
- rd_alarm = 1;
- #ifdef FAKE_INTERRUPT
- --- 842,848 ----
- static jmp_buf fake_alarm_sig;
- #endif
-
- ! static sig_type rd_timeout()
- {
- rd_alarm = 1;
- #ifdef FAKE_INTERRUPT
- ***************
- *** 1035,1247 ****
- return GETC_COMMAND | K_REDRAW;
- }
-
- - #else /* original code */
- -
- - static int do_flush_input = 0;
- -
- - flush_input()
- - {
- - BATCH_CHECK;
- -
- - #ifdef HAVE_TERMIO
- - ioctl(0, TCFLSH, 0);
- - do_flush_input = 1;
- - #else
- - #ifdef FREAD
- - {
- - int arg = FREAD;
- - ioctl(0, TIOCFLUSH, &arg);
- - }
- - #else
- - ioctl(0, TIOCFLUSH, 0);
- - #endif
- - #endif
- - }
- -
- - int enable_stop = 1;
- -
- - #ifndef KEY_BURST
- -
- - static int alarm_on = 0;
- -
- - static mk_timeout(n)
- - {
- - alarm_on = 0;
- -
- - #ifdef FAKE_INTERRUPT
- - if (fake_keyb_siglist[n] && arm_fake_keyb_sig)
- - longjmp(fake_keyb_sig, 1);
- - #endif
- - }
- -
- - #endif
- -
- - static int do_macro_processing = 1;
- -
- - get_c()
- - {
- - key_type c;
- - int any_multi, key_cnt, mc;
- - register struct multi_key *mk;
- - register int i;
- - #ifdef KEY_BURST
- - static char cbuf[KEY_BURST], *cp;
- - static int n = 0;
- -
- - if (do_flush_input) {
- - do_flush_input = 0;
- - n = 0;
- - }
- - #else
- - int n;
- - key_type first_key;
- - #endif
- -
- - next_key:
- - if (s_hangup)
- - return K_interrupt;
- -
- - #ifdef RESIZING
- - if (s_resized) {
- - s_resized = 0;
- - return GETC_COMMAND | K_REDRAW;
- - }
- - #endif
- -
- - if (do_macro_processing)
- - switch (m_getc(&mc)) {
- - case 0:
- - break;
- - case 1:
- - return mc;
- - case 2:
- - return K_interrupt;
- - }
- -
- - if (batch_mode)
- - user_error("Attempt to read keyboard input in batch mode");
- -
- - for (i = multi_keys, mk = multi_key_list; --i >= 0; mk++)
- - mk->cur_key = mk->keys;
- - key_cnt = 0;
- -
- - #ifdef KEY_BURST
- - if (n <= 0) {
- - n = read(0, cbuf, KEY_BURST);
- - if (n < 0 && errno != EINTR) s_hangup++;
- - if (n <= 0) return K_interrupt;
- - cp = cbuf;
- - }
- -
- - while (--n >= 0) {
- - c = (key_type)*cp++;
- - #else
- - #ifdef FAKE_INTERRUPT
- - if (setjmp(fake_keyb_sig)) {
- - arm_fake_keyb_sig = 0;
- - return K_interrupt;
- - }
- - arm_fake_keyb_sig = 1;
- - #endif
- - while ((n = read(0, (char *)&c, 1)) > 0) {
- - #endif
- -
- - if (data_bits < 8) c &= 0x7f;
- -
- - if (ignore_xon_xoff && (c == CONTROL_('Q') || c == CONTROL_('S')))
- - continue;
- -
- - any_multi = 0;
- - for (i = multi_keys, mk = multi_key_list; --i >= 0; mk++)
- - if (mk->cur_key) {
- - if (*(mk->cur_key)++ == c) {
- - if (*(mk->cur_key) == NUL) {
- - c = mk->code;
- - goto got_char;
- - }
- - any_multi++;
- - } else
- - mk->cur_key = NUL;
- - }
- -
- - if (any_multi) {
- - #ifndef KEY_BURST
- - if (key_cnt == 0) {
- - first_key = c;
- - alarm_on = 1;
- - signal(SIGALRM, mk_timeout);
- - micro_alarm(1);
- - }
- - #endif
- - key_cnt++;
- - continue;
- - }
- - if (key_cnt == 0)
- - goto got_char;
- -
- - ding();
- - flush_input();
- - goto next_key;
- - }
- -
- - #ifdef FAKE_INTERRUPT
- - arm_fake_keyb_sig = 0;
- - #endif
- - #ifdef CBREAK
- - if (s_redraw) {
- - s_redraw = 0;
- - return GETC_COMMAND | K_REDRAW;
- - }
- - #endif
- -
- - #ifndef KEY_BURST
- - if (n < 0) {
- - if (errno != EINTR) s_hangup++;
- - return K_interrupt;
- - }
- - #endif
- -
- - #ifdef RESIZING
- - if (s_resized) {
- - s_resized = 0;
- - return GETC_COMMAND | K_REDRAW;
- - }
- - #endif
- -
- - #ifndef KEY_BURST
- - if (n < 0 && key_cnt)
- - c = first_key;
- - #endif
- -
- - got_char:
- - #ifdef FAKE_INTERRUPT
- - arm_fake_keyb_sig = 0;
- - #endif
- -
- - #ifndef KEY_BURST
- - if (alarm_on) {
- - alarm(0);
- - alarm_on = 0;
- - }
- - #endif
- -
- - c = global_key_map[c];
- -
- - #ifndef CBREAK
- - if (c == SuspC) {
- - if (!enable_stop) goto next_key;
- - if (suspend_nn())
- - return GETC_COMMAND | K_REDRAW;
- - else
- - goto next_key;
- - }
- -
- - if (c == IntrC) c = K_interrupt;
- - #endif
- - return (int)c;
- - }
- -
- - #endif
-
- /*
- * read string with completion, pre-filling, and break on first char
- --- 1033,1038 ----
- ***************
- *** 1464,1471 ****
- --- 1255,1265 ----
- if (i == max) continue;
-
- if (i > 0 && buf[i-1] == '/' && (c == '/' || c == '+')) {
- + extern int file_completion();
- + if (completion == file_completion) {
- while (i > 0) { putchar(BS); i--; }
- clrline();
- + }
- }
-
- putchar(c);
- *** ./LAST/xmakefile Wed Feb 6 19:14:23 1991
- --- xmakefile Mon Feb 11 17:09:12 1991
- ***************
- *** 16,21 ****
- --- 16,25 ----
- #define EXTRA_LIB
- #endif
-
- + #ifndef LOADER_FLAGS
- + #define LOADER_FLAGS
- + #endif
- +
- #ifndef NNTP
- #undef NNTP_EXTRA_LIB
- #endif
- ***************
- *** 56,61 ****
- --- 60,66 ----
- CC = COMPILER
- CPP = PREPROC
- CFLAGS = -Iconf COMPILER_FLAGS CDEBUG
- + LDFLAGS = LDEBUG LOADER_FLAGS EXTRA_LIB
-
- *
- * Resulting programs
- ***************
- *** 96,110 ****
-
- nn: PARALLEL $(NN)
- @echo linking nn
- ! @$(CC) $(CFLAGS) $(NN) -o nn TERMLIB EXTRA_LIB NNTP_EXTRA_LIB
-
- nnmaster: PARALLEL $(MASTER)
- @echo linking nnmaster
- ! @$(CC) $(CFLAGS) $(MASTER) -o nnmaster EXTRA_LIB NNTP_EXTRA_LIB
-
- nnmail: PARALLEL $(MAIL)
- @echo linking nnmail
- ! @$(CC) $(CFLAGS) $(MAIL) EXTRA_LIB -o nnmail
-
- nnstats: nnstats.sh prefix
- cat prefix nnstats.sh > nnstats ; chmod +x nnstats
- --- 101,115 ----
-
- nn: PARALLEL $(NN)
- @echo linking nn
- ! @$(CC) -o nn $(CFLAGS) $(NN) $(LDFLAGS) TERMLIB NNTP_EXTRA_LIB
-
- nnmaster: PARALLEL $(MASTER)
- @echo linking nnmaster
- ! @$(CC) -o nnmaster $(CFLAGS) $(MASTER) $(LDFLAGS) NNTP_EXTRA_LIB
-
- nnmail: PARALLEL $(MAIL)
- @echo linking nnmail
- ! @$(CC) -o nnmail $(CFLAGS) $(MAIL) $(LDFLAGS)
-
- nnstats: nnstats.sh prefix
- cat prefix nnstats.sh > nnstats ; chmod +x nnstats
- ***************
- *** 123,129 ****
-
- nnacct: PARALLEL $(ACCT)
- @echo linking nnacct
- ! @$(CC) $(CFLAGS) $(ACCT) EXTRA_LIB -o nnacct
-
- back_act: back_act.sh prefix
- cat prefix back_act.sh > back_act ; chmod +x back_act
- --- 128,134 ----
-
- nnacct: PARALLEL $(ACCT)
- @echo linking nnacct
- ! @$(CC) -o nnacct $(CFLAGS) $(ACCT) $(LDFLAGS)
-
- back_act: back_act.sh prefix
- cat prefix back_act.sh > back_act ; chmod +x back_act
- ***************
- *** 135,141 ****
- ./mkprefix prefix < /dev/null > prefix
-
- mkprefix: PARALLEL prefix.o global.o
- ! $(CC) $(CFLAGS) prefix.o global.o EXTRA_LIB -o mkprefix
-
- *
- * Configuration counter updating
- --- 140,146 ----
- ./mkprefix prefix < /dev/null > prefix
-
- mkprefix: PARALLEL prefix.o global.o
- ! $(CC) -o mkprefix $(CFLAGS) prefix.o global.o $(LDFLAGS)
-
- *
- * Configuration counter updating
- ***************
- *** 151,160 ****
- *
-
- cvt-help: PARALLEL config.h cvt-help.c
- ! $(CC) -o cvt-help cvt-help.c EXTRA_LIB
-
- usercheck: PARALLEL config.h usercheck.c
- ! $(CC) -o usercheck usercheck.c EXTRA_LIB
-
- inst: config.h xmakefile inst.sh cvt-help usercheck mkprefix man/nn.1
- @echo building install script: ./inst
- --- 156,165 ----
- *
-
- cvt-help: PARALLEL config.h cvt-help.c
- ! $(CC) -o cvt-help cvt-help.c $(LDFLAGS)
-
- usercheck: PARALLEL config.h usercheck.c
- ! $(CC) -o usercheck usercheck.c $(LDFLAGS)
-
- inst: config.h xmakefile inst.sh cvt-help usercheck mkprefix man/nn.1
- @echo building install script: ./inst
- ***************
- *** 246,255 ****
- * link debugging version
-
- nn1: $(NN)
- ! $(CC) $(CFLAGS) $(NN) TERMLIB EXTRA_LIB -Mnn1 -o nn1
-
- nnmaster1: $(MASTER)
- ! $(CC) $(CFLAGS) $(MASTER) EXTRA_LIB -Mnnmaster1 -o nnmaster1
-
- lint:
- echo LINTING NN
- --- 251,260 ----
- * link debugging version
-
- nn1: $(NN)
- ! $(CC) -o nn1 -Mnn1 $(CFLAGS) $(NN) $(LDFLAGS) TERMLIB NNTP_EXTRA_LIB
-
- nnmaster1: $(MASTER)
- ! $(CC) -o nnmaster1 -Mnnmaster1 $(CFLAGS) $(MASTER) $(LDFLAGS) NNTP_EXTRA_LIB
-
- lint:
- echo LINTING NN
-